1. Field of the Invention
The present invention relates to a label address translating device for obtaining an effective address (an absolute address, i.e., an intra-memory actual address) from a label I a program described in a predetermined language.
2. Related Background Art
In a program described in a computer language such as a C language, a BASIC language, a LIPS language and an APL language, a label address translation for obtaining an effective address from a label is executed with reference to a table showing a relationship between the label and the effective address.
For example, Japanese Patent Application Laid-Open Publication No.1-258029 discloses a data processor including a table showing a correspondence between a symbol string (labels) indicating respective identification names with respect to data areas and programs, and storage addresses in a storage device. This data processor obtains the storage address of the program or the data area from the correspondence table, and thus executes the program.
Further, in a program described in an interpreter language of being translated and interpreted per text, a label table showing a relationship between the label and the address is referred to each time the program is executed, and there are obtained effective addresses of a function and a variable which correspond to the label.
Moreover, in a program described in a compiler language in which all the texts are compiled and execution is thereafter done, the effective address is obtained from the label table each time the program is compiled.
The program described in the interpreter language, however, has such a problem that the label table is referred to with an interruption of the fundamental process during the execution of the program, and therefore a speed of executing the program might be delayed.
A problem inherent in the program described in the compiler language is that the compilation of the program takes much time.
A problem of a program described in a language containing the interpreter and compiler languages is that there might be a scatter in the execution speed.